package cn.edu.zsc.rbac.domain.service;

import cn.edu.zsc.rbac.domain.dto.BaseDto;
import cn.edu.zsc.rbac.domain.entity.BaseEntity;
import cn.edu.zsc.rbac.domain.vo.Result;

//Entity：表示具体的实体类，必须继承自 BaseEntity，代表数据库映射对象。
//Dto：表示数据传输对象（Data Transfer Object），
// 用于接收外部请求参数，如创建或更新数据时传入的对象。
public interface IBaseService<Entity extends BaseEntity, Dto extends BaseDto> {
  //新增定义，软删除和恢复接口
    Result softDelete(int id);
    Result restore(int id);
    boolean existsById(int id);

    Entity findById(int id);

    Result list();

    Result create(Dto dto);

    Result update(Dto dto, int id);
}
